使用视口 (Viewport) 节点

视口 (Viewport) 节点可用于设置要投射内容到其上的渲染目标表面的尺寸。

2D 视口 (Viewport 2D) 是一个特殊的节点,因为它可以渲染 2D 对象,例如图像 (Image)页面 (Page)2D 按钮 (Button 2D)和 3D 对象场景 (Scene)。新建 Kanzi Studio 工程时,该工程有一个2D 视口 (Viewport 2D),具有包含摄像机 (Camera)方向光 (Directional Light)场景 (Scene)

创建 2D 视口 (Viewport 2D) 节点

要创建 2D 视口 (Viewport 2D) 节点:

  1. 工程 (Project)按下 Alt 并右键点击您想在其中创建 2D 视口 (Viewport 2D) 节点的 2D 节点,然后选择 2D 视口 (Viewport 2D)
    请注意,只能在 3D 节点内创建 3D 节点,只能在 2D 节点内创建 2D 节点。
  2. 将内容添加至您创建的 2D 视口 (Viewport 2D) 节。
    例如:

控制 Kanzi 如何渲染 2D 视口 (Viewport 2D) 节点

您可以控制Kanzi 如何使用前景提示 (Foreground Hint) 属性渲染2D 视口 (Viewport 2D) 节点:

设置 2D 视口 (Viewport 2D) 节点的外观

您可以控制 Kanzi 如何渲染 2D 视口 (Viewport 2D) 节点。请参阅控制 Kanzi 如何渲染 2D 视口 (Viewport 2D) 节点

要设置 2D 节点的外观:

在 API 中使用 2D 视口 (Viewport 2D) 节点

要创建 2D 视口节点、将其附加到 RootPage 并将其添加到场景或 2D 内容中:

//创建一个名为 Viewport 2D 的 2D 视口并将其添加到 RootPage。
Viewport2DSharedPtr viewport2d = Viewport2D::create(domain, "Viewport 2D");
rootNode->addChild(viewport2d);
//要在 2D 视口中渲染 3D 节点,您需要为 2D 视口添加一个场景。
//创建一个名为 Scene for 3D nodes 的场景并将其添加到 2D 视口中。
SceneSharedPtr sceneNode = Scene::create(domain, "Scene for 3D nodes");
viewport2d->setScene(sceneNode);
//创建一个名为 Camera 的摄像机并将其添加到场景中。
CameraSharedPtr camera = Camera::create(domain, "Camera");
sceneNode->addChild(camera);
//创建一个名为 Point light 的点光源并将其添加到场景中。
LightSharedPtr light = Light::createPoint(domain, "Point light");
sceneNode->addChild(light);
//创建一个名为 Box 的方框网格并将其添加到场景中。
Model3DSharedPtr box = Model3D::createCube(domain, "Box", 1.0f, ThemeBlue);
sceneNode->addChild(box);

有关详细信息,请参阅 API reference中的 Viewport2D 类。

2D 视口 (Viewport 2D)属性类型和消息

要查看 2D 视口 (Viewport 2D) 节点可用属性类型和消息的列表,请参阅 Viewport 2D

另请参阅

使用场景 (Scene) 节点

预览

使用预设件

材质类型和材质

创建纹理材质